home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 60.zip / BS1 part 60 / Kick Pascal v2.10 d2.adf / SYSPROG / ImageDemo2.p < prev    next >
Text File  |  1990-11-01  |  2KB  |  62 lines

  1. Program ImageDemo2;
  2.  
  3. { By Michael Janich & Jens Gelhar               }
  4. {                                               }
  5. { Schönere Version von "Imagedemo.p":           }
  6. {                                               }
  7. { Das Bild wird gleich 800mal ausgegeben, wobei }
  8. { die Positionen aus überlagerten Sinus-        }
  9. { schwingungen berechnet werden.                }
  10.  
  11. {$incl"intuition.lib" }
  12.  
  13. Type
  14.   Plane = Array[1..36] of Word;      { 3*12 = 36 }
  15.  
  16. Var
  17.   Win: ^Window;
  18.   i: Integer;
  19.   x, y: Real;
  20.   Img: Image;
  21.   Dat: ^Plane;
  22.  
  23. Begin
  24.   OpenLib(IntBase,'intuition.library',0);
  25.   Win:=Open_Window(120,50,320,150,1,0,$1007,'Image',Nil,100,50,640,200);
  26.   { Speicher für Bilddaten reservieren: }
  27.   Dat:=Ptr( Alloc_Mem(SizeOf(Plane), 2) );   { 2 = "MEMF_CHIP" }
  28.   { Bild initialisieren: }
  29.   Dat^:=Plane(%0001111111111111, %1111111111111111, %1111111111111000,
  30.               %0111000000000000, %0000000000000000, %0000000000001110,
  31.               %1110000111111100, %0011110001111000, %0000000111100111,
  32.               %1100000111100111, %0011110000111100, %0000001111000011,
  33.               %1100000111100111, %0000000000111100, %0000001111000011,
  34.               %1100000111111100, %0111110000111100, %0011111111000011,
  35.               %1100000111100111, %0011110000111100, %0111001111000011,
  36.               %1100000111100111, %0011110000111100, %0111001111000011,
  37.               %1100000111111100, %0111111001111110, %0011111111100011,
  38.               %1110000000000000, %0000000000000000, %0000000000000111,
  39.               %0111000000000000, %0000000000000000, %0000000000001110,
  40.               %0001111111111111, %1111111111111111, %1111111111111000);
  41.   { Image-Struktur }
  42.   Img:=Image(0,0,     { keine Verschiebung }
  43.              48,      { Breite }
  44.              12,      { Höhe }
  45.              1,       { nur eine Plane }
  46.              Dat,     { Bilddaten }
  47.              1,0,     { weißes Bild, schwarzer Hintergrund }
  48.              Nil);    { kein weiteres Image }
  49.  
  50.   For i:=0 To 800 Do  { 800mal Bild ausgeben }
  51.     Begin
  52.       x:= 120*sin(i/125.66);
  53.       y:=  50*sin(i/ 31.415)
  54.          - 10*sin(i/ 62.832);
  55.       DrawImage(Win^.RPort, ^Img, 136+trunc(x), 75+round(y));
  56.     End;
  57.  
  58.   Delay(5*50);
  59.   Close_Window(Win)
  60. End.
  61.  
  62.